home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / AppleEvents.p < prev    next >
Text File  |  1996-05-01  |  19KB  |  481 lines

  1. {
  2.      File:        AppleEvents.p
  3.  
  4.      Contains:    AppleEvent Package Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT AppleEvents;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __APPLEEVENTS__}
  28. {$SETC __APPLEEVENTS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC AppleEventsIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  38. {$IFC NOT FOR_PTR_BASED_AE }
  39. {$IFC UNDEFINED __MEMORY__}
  40. {$I Memory.p}
  41. {$ENDC}
  42. {$IFC UNDEFINED __MIXEDMODE__}
  43. {$I MixedMode.p}
  44. {$ENDC}
  45. {$IFC UNDEFINED __NOTIFICATION__}
  46. {$I Notification.p}
  47. {$ENDC}
  48. {$IFC UNDEFINED __EVENTS__}
  49. {$I Events.p}
  50. {$ENDC}
  51. {$ENDC}
  52. {$ENDC}
  53. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  54. {$IFC UNDEFINED __KERNEL__}
  55. {$I Kernel.p}
  56. {$ENDC}
  57. {$ENDC}
  58. {$IFC UNDEFINED __AEDATAMODEL__}
  59. {$I AEDataModel.p}
  60. {$ENDC}
  61.  
  62. {$PUSH}
  63. {$ALIGN MAC68K}
  64. {$LibExport+}
  65.  
  66.  
  67. CONST
  68.                                                                 {  Keywords for Apple event parameters  }
  69.     keyDirectObject                = '----';
  70.     keyErrorNumber                = 'errn';
  71.     keyErrorString                = 'errs';
  72.     keyProcessSerialNumber        = 'psn ';                        {  Keywords for special handlers  }
  73.     keyPreDispatch                = 'phac';                        {  preHandler accessor call  }
  74.     keySelectProc                = 'selh';                        {  more selector call  }
  75.                                                                 {  Keyword for recording  }
  76.     keyAERecorderCount            = 'recr';                        {  available only in vers 1.0.1 and greater  }
  77.                                                                 {  Keyword for version information  }
  78.     keyAEVersion                = 'vers';                        {  available only in vers 1.0.1 and greater  }
  79.  
  80. {  Event Class  }
  81.     kCoreEventClass                = 'aevt';
  82.  
  83. {  Event ID's  }
  84.     kAEOpenApplication            = 'oapp';
  85.     kAEOpenDocuments            = 'odoc';
  86.     kAEPrintDocuments            = 'pdoc';
  87.     kAEQuitApplication            = 'quit';
  88.     kAEAnswer                    = 'ansr';
  89.     kAEApplicationDied            = 'obit';
  90.  
  91. {  Constants for recording  }
  92.     kAEStartRecording            = 'reca';                        {  available only in vers 1.0.1 and greater  }
  93.     kAEStopRecording            = 'recc';                        {  available only in vers 1.0.1 and greater  }
  94.     kAENotifyStartRecording        = 'rec1';                        {  available only in vers 1.0.1 and greater  }
  95.     kAENotifyStopRecording        = 'rec0';                        {  available only in vers 1.0.1 and greater  }
  96.     kAENotifyRecording            = 'recr';                        {  available only in vers 1.0.1 and greater  }
  97.  
  98. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  99. {$IFC FOR_PTR_BASED_AE }
  100.  
  101. TYPE
  102.     AEDispatcherID = ^LONGINT;
  103.     AEDispatcherRef = ^LONGINT;
  104.     AEHandlerTableRef = ^LONGINT;
  105.     AEDelayedSendRef = ^LONGINT;
  106. {  this will be removed by D11E3 or earlier (!!!) }
  107.     AEHandlerTable                        = AEHandlerTableRef;
  108.     AEReceiveMode                        = OptionBits;
  109.  
  110. CONST
  111.     kAEReceiveForever            = $00000000;
  112.     kAEReceiveOneEvent            = $00000001;
  113.     kAEReceiveUntilUnhandledEvent = $00000002;
  114.  
  115. {$ENDC}
  116. {$ENDC}
  117. {  parameter to AESend  }
  118.  
  119. TYPE
  120.     AESendOptions                        = OptionBits;
  121.  
  122. CONST
  123.     kAENeverInteract            = $00000010;                    {  server should not interact with user  }
  124.     kAECanInteract                = $00000020;                    {  server may try to interact with user  }
  125.     kAEAlwaysInteract            = $00000030;                    {  server should always interact with user where appropriate  }
  126.     kAECanSwitchLayer            = $00000040;                    {  interaction may switch layer  }
  127.     kAEDontRecord                = $00001000;                    {  don't record this event - available only in vers 1.0.1 and greater  }
  128.     kAEDontExecute                = $00002000;                    {  don't send the event for recording - available only in vers 1.0.1 and greater  }
  129.     kAEProcessNonReplyEvents    = $00008000;                    {  allow processing of non-reply events while awaiting synchronous AppleEvent reply  }
  130.  
  131. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  132. {$IFC NOT FOR_PTR_BASED_AE }
  133.  
  134. TYPE
  135.     AESendMode                            = SInt32;
  136.  
  137. CONST
  138.     kAENoReply                    = $00000001;                    {  sender doesn't want a reply to event  }
  139.     kAEQueueReply                = $00000002;                    {  sender wants a reply but won't wait  }
  140.     kAEWaitReply                = $00000003;                    {  sender wants a reply and will wait  }
  141.     kAEDontReconnect            = $00000080;                    {  don't reconnect if there is a sessClosedErr from PPCToolbox  }
  142.     kAEWantReceipt                = $00000200;                    {  (nReturnReceipt) sender wants a receipt of message  }
  143.  
  144. {$ENDC}
  145. {$ENDC}
  146. {  Constants for timeout durations  }
  147.     kAEDefaultTimeout            = -1;                            {  timeout value determined by AEM  }
  148.     kNoTimeOut                    = -2;                            {  wait until reply comes back, however long it takes  }
  149.  
  150. {  priority param of AESend  }
  151.  
  152. TYPE
  153.     AESendPriority                        = SInt16;
  154.  
  155. CONST
  156.     kAENormalPriority            = $00000000;                    {  post message at the end of the event queue  }
  157.     kAEHighPriority                = $00000001;                    {  post message at the front of the event queue (same as nAttnMsg)  }
  158.  
  159.  
  160. TYPE
  161.     AEEventSource                        = SInt8;
  162.  
  163. CONST
  164.     kAEUnknownSource            = 0;
  165.     kAEDirectCall                = 1;
  166.     kAESameProcess                = 2;
  167.     kAELocalProcess                = 3;
  168.     kAERemoteProcess            = 4;
  169.  
  170. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  171. {$IFC NOT FOR_PTR_BASED_AE }
  172.  
  173. TYPE
  174.     AEEventHandlerProcPtr = ProcPtr;  { FUNCTION AEEventHandler((CONST)VAR theAppleEvent: AppleEvent; VAR reply: AppleEvent; handlerRefcon: UInt32): OSErr; }
  175.  
  176.     AEIdleProcPtr = ProcPtr;  { FUNCTION AEIdle(VAR theEvent: EventRecord; VAR sleepTime: LONGINT; VAR mouseRgn: RgnHandle): BOOLEAN; }
  177.  
  178.     AEFilterProcPtr = ProcPtr;  { FUNCTION AEFilter(VAR theEvent: EventRecord; returnID: LONGINT; transactionID: LONGINT; (CONST)VAR sender: AEAddressDesc): BOOLEAN; }
  179.  
  180.     AEEventHandlerUPP = UniversalProcPtr;
  181.     AEIdleUPP = UniversalProcPtr;
  182.     AEFilterUPP = UniversalProcPtr;
  183.  
  184. CONST
  185.     uppAEEventHandlerProcInfo = $00000FE0;
  186.     uppAEIdleProcInfo = $00000FD0;
  187.     uppAEFilterProcInfo = $00003FD0;
  188.  
  189. FUNCTION NewAEEventHandlerProc(userRoutine: AEEventHandlerProcPtr): AEEventHandlerUPP;
  190.     {$IFC NOT GENERATINGCFM }
  191.     INLINE $2E9F;
  192.     {$ENDC}
  193.  
  194. FUNCTION NewAEIdleProc(userRoutine: AEIdleProcPtr): AEIdleUPP;
  195.     {$IFC NOT GENERATINGCFM }
  196.     INLINE $2E9F;
  197.     {$ENDC}
  198.  
  199. FUNCTION NewAEFilterProc(userRoutine: AEFilterProcPtr): AEFilterUPP;
  200.     {$IFC NOT GENERATINGCFM }
  201.     INLINE $2E9F;
  202.     {$ENDC}
  203.  
  204. FUNCTION CallAEEventHandlerProc({CONST}VAR theAppleEvent: AppleEvent; VAR reply: AppleEvent; handlerRefcon: UInt32; userRoutine: AEEventHandlerUPP): OSErr;
  205.     {$IFC NOT GENERATINGCFM}
  206.     INLINE $205F, $4E90;
  207.     {$ENDC}
  208.  
  209. FUNCTION CallAEIdleProc(VAR theEvent: EventRecord; VAR sleepTime: LONGINT; VAR mouseRgn: RgnHandle; userRoutine: AEIdleUPP): BOOLEAN;
  210.     {$IFC NOT GENERATINGCFM}
  211.     INLINE $205F, $4E90;
  212.     {$ENDC}
  213.  
  214. FUNCTION CallAEFilterProc(VAR theEvent: EventRecord; returnID: LONGINT; transactionID: LONGINT; {CONST}VAR sender: AEAddressDesc; userRoutine: AEFilterUPP): BOOLEAN;
  215.     {$IFC NOT GENERATINGCFM}
  216.     INLINE $205F, $4E90;
  217.     {$ENDC}
  218. {$ENDC}
  219. {$ENDC}
  220. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  221. {$IFC FOR_PTR_BASED_AE }
  222.  
  223. TYPE
  224.     AEEventHandlerProc = ProcPtr;  { FUNCTION AEEventHandlerProc((CONST)VAR theAppleEvent: AppleEvent; VAR reply: AppleEvent; handlerRefcon: UNIV Ptr; handlerTable: AEHandlerTableRef): OSStatus; C; }
  225.  
  226. {$ENDC}
  227. {$ENDC}
  228. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  229. {$IFC NOT FOR_PTR_BASED_AE }
  230. {
  231. *************************************************************************
  232.   The next couple of calls are basic routines used to create, send,
  233.   and process AppleEvents. 
  234. *************************************************************************
  235. }
  236. FUNCTION AESend({CONST}VAR theAppleEvent: AppleEvent; VAR reply: AppleEvent; sendMode: AESendMode; sendPriority: AESendPriority; timeOutInTicks: LONGINT; idleProc: AEIdleUPP; filterProc: AEFilterUPP): OSErr;
  237.     {$IFC NOT GENERATINGCFM}
  238.     INLINE $303C, $0D17, $A816;
  239.     {$ENDC}
  240. FUNCTION AEProcessAppleEvent({CONST}VAR theEventRecord: EventRecord): OSErr;
  241.     {$IFC NOT GENERATINGCFM}
  242.     INLINE $303C, $021B, $A816;
  243.     {$ENDC}
  244. {$ENDC}
  245. {$ENDC}
  246. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  247. {$IFC FOR_PTR_BASED_AE }
  248. {
  249. *************************************************************************
  250.   The next set of calls are basic routines used to send and process AppleEvents. 
  251. *************************************************************************
  252. }
  253. {
  254.  the reply param MUST be created by the caller if a reply is requested
  255.  otherwise, the caller must specify nil, or a NULL AppleEvent, if no reply is requested
  256. }
  257. FUNCTION AESendEvent({CONST}VAR theAppleEvent: AppleEvent; VAR reply: AppleEvent; sendOpts: AESendOptions; sendPriority: AESendPriority; timeoutDuration: Duration): OSStatus; C;
  258. FUNCTION AESendEventQueueReply({CONST}VAR theAppleEvent: AppleEvent; {CONST}VAR replyAddress: AEAddressDesc; sendOpts: AESendOptions; sendPriority: AESendPriority): OSStatus; C;
  259. {
  260.  the reply param MUST be created by the caller if a reply is requested
  261.  otherwise, the caller must specify nil, or a NULL AppleEvent, if no reply is requested
  262. }
  263. FUNCTION AESendEventToSelf({CONST}VAR theAppleEvent: AppleEvent; VAR reply: AppleEvent; whichDispatcher: AEDispatcherRef; sendOpts: AESendOptions): OSStatus; C;
  264. FUNCTION AESendDelayed({CONST}VAR theAppleEvent: AppleEvent; delayForSend: Duration; VAR delayedSend: AEDelayedSendRef): OSStatus; C;
  265. FUNCTION AECancelDelayedSend(delayedSend: AEDelayedSendRef): OSStatus; C;
  266. {
  267. *************************************************************************
  268.   The next couple of calls are for causing kernel asynchronous completion 
  269.   notifications to send an AppleEvent when they fire. 
  270. *************************************************************************
  271. }
  272. FUNCTION AECreateNotifier({CONST}VAR theAppleEvent: AppleEvent; VAR theNotification: KernelNotification): OSStatus; C;
  273. FUNCTION AEDisposeNotifier({CONST}VAR theNotification: KernelNotification): OSStatus; C;
  274. {$ENDC}
  275. {$ENDC}
  276. {
  277.  Note: during event processing, an event handler may realize that it is likely
  278.  to exceed the client's timeout limit. Passing the reply to this
  279.  routine causes a wait event to be generated that asks the client
  280.  for more time. 
  281. }
  282. {$IFC FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE }
  283. FUNCTION AEResetTimer({CONST}VAR reply: AppleEvent): OSErr;
  284.     {$IFC NOT GENERATINGCFM}
  285.     INLINE $303C, $0219, $A816;
  286.     {$ENDC}
  287. {$ENDC}
  288. {
  289. *************************************************************************
  290.   The following three calls are used to allow applications to behave
  291.   courteously when a user interaction such as a dialog box is needed. 
  292. *************************************************************************
  293. }
  294. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  295.  
  296. TYPE
  297.     AEInteractAllowed                    = SInt8;
  298.  
  299. CONST
  300.     kAEInteractWithSelf            = 0;
  301.     kAEInteractWithLocal        = 1;
  302.     kAEInteractWithAll            = 2;
  303.  
  304. FUNCTION AEGetInteractionAllowed(VAR level: AEInteractAllowed): OSErr;
  305.     {$IFC NOT GENERATINGCFM}
  306.     INLINE $303C, $021D, $A816;
  307.     {$ENDC}
  308. FUNCTION AESetInteractionAllowed(level: AEInteractAllowed): OSErr;
  309.     {$IFC NOT GENERATINGCFM}
  310.     INLINE $303C, $011E, $A816;
  311.     {$ENDC}
  312. {$ENDC}
  313. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  314. {$IFC NOT FOR_PTR_BASED_AE }
  315. FUNCTION AEInteractWithUser(timeOutInTicks: LONGINT; nmReqPtr: NMRecPtr; idleProc: AEIdleUPP): OSErr;
  316.     {$IFC NOT GENERATINGCFM}
  317.     INLINE $303C, $061C, $A816;
  318.     {$ENDC}
  319. {$ENDC}
  320. {$ENDC}
  321. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  322. {$IFC FOR_PTR_BASED_AE }
  323. {
  324. *************************************************************************
  325.   These calls are used to create and dispose Apple event handler tables,
  326.   as well as to install, get and remove handlers from them.
  327. *************************************************************************
  328. }
  329. FUNCTION AENewHandlerTable(VAR newTable: AEHandlerTableRef; refCon: UNIV Ptr): OSStatus; C;
  330. FUNCTION AENewFilterHandlerTable(VAR newTable: AEHandlerTableRef; refCon: UNIV Ptr): OSStatus; C;
  331. FUNCTION AEShareHandlerTable(table: AEHandlerTableRef; newRefcon: UNIV Ptr; VAR newSharedReference: AEHandlerTableRef): OSStatus; C;
  332. FUNCTION AEDisposeHandlerTable(table: AEHandlerTableRef): OSStatus; C;
  333. FUNCTION AEGetHandlerTableRefCon(table: AEHandlerTableRef; VAR refCon: UNIV Ptr): OSStatus; C;
  334. FUNCTION AEInstallHandler(table: AEHandlerTableRef; handlerClass: AEEventClass; handlerID: AEEventID; handler: AEEventHandlerProc; handlerRefcon: UNIV Ptr): OSStatus; C;
  335. FUNCTION AERemoveHandler(table: AEHandlerTableRef; handlerClass: AEEventClass; handlerID: AEEventID; handler: AEEventHandlerProc): OSStatus; C;
  336. FUNCTION AEGetHandler(table: AEHandlerTableRef; handlerClass: AEEventClass; handlerID: AEEventID; VAR handler: AEEventHandlerProc; VAR handlerRefcon: UNIV Ptr): OSStatus; C;
  337. {
  338. *************************************************************************
  339.   These calls are used to setup and get events from Apple event dispatchers.
  340. *************************************************************************
  341. }
  342. FUNCTION AEGetDefaultDispatcher: AEDispatcherRef; C;
  343. FUNCTION AECreateEventDispatcher(VAR newDispatcher: AEDispatcherRef; allocator: MemAllocatorRef): OSStatus; C;
  344. FUNCTION AEDisposeEventDispatcher(deadDispatcher: AEDispatcherRef): OSStatus; C;
  345. FUNCTION AEGetEventDispatcherID(dispatcher: AEDispatcherRef; VAR globalIdentity: AEDispatcherID): OSStatus; C;
  346. FUNCTION AEPushDispatcherHandlerTable(dispatcher: AEDispatcherRef; table: AEHandlerTableRef): OSStatus; C;
  347. FUNCTION AEPopDispatcherHandlerTable(dispatcher: AEDispatcherRef; VAR table: AEHandlerTableRef): OSStatus; C;
  348. FUNCTION AEGetDispatcherTopHandlerTable(dispatcher: AEDispatcherRef; VAR table: AEHandlerTableRef): OSStatus; C;
  349. FUNCTION AEReceive(waitDispatcher: AEDispatcherRef; receiveMode: AEReceiveMode): OSStatus; C;
  350. {$ENDC}
  351. {$ENDC}
  352. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  353. {$IFC NOT FOR_PTR_BASED_AE }
  354. {
  355. *************************************************************************
  356.   These calls are used to set up and modify the event dispatch table.
  357. *************************************************************************
  358. }
  359. FUNCTION AEInstallEventHandler(theAEEventClass: AEEventClass; theAEEventID: AEEventID; handler: AEEventHandlerUPP; handlerRefcon: LONGINT; isSysHandler: BOOLEAN): OSErr;
  360.     {$IFC NOT GENERATINGCFM}
  361.     INLINE $303C, $091F, $A816;
  362.     {$ENDC}
  363. FUNCTION AERemoveEventHandler(theAEEventClass: AEEventClass; theAEEventID: AEEventID; handler: AEEventHandlerUPP; isSysHandler: BOOLEAN): OSErr;
  364.     {$IFC NOT GENERATINGCFM}
  365.     INLINE $303C, $0720, $A816;
  366.     {$ENDC}
  367. FUNCTION AEGetEventHandler(theAEEventClass: AEEventClass; theAEEventID: AEEventID; VAR handler: AEEventHandlerUPP; VAR handlerRefcon: LONGINT; isSysHandler: BOOLEAN): OSErr;
  368.     {$IFC NOT GENERATINGCFM}
  369.     INLINE $303C, $0921, $A816;
  370.     {$ENDC}
  371. {
  372. *************************************************************************
  373.  The following four calls are available for applications which need more
  374.  sophisticated control over when and how events are processed. Applications
  375.  which implement multi-session servers or which implement their own
  376.  internal event queueing will probably be the major clients of these
  377.  routines. They can be called from within a handler to prevent the AEM from
  378.  disposing of the AppleEvent when the handler returns. They can be used to
  379.  asynchronously process the event (as MacApp does).
  380. *************************************************************************
  381. }
  382. FUNCTION AESuspendTheCurrentEvent({CONST}VAR theAppleEvent: AppleEvent): OSErr;
  383.     {$IFC NOT GENERATINGCFM}
  384.     INLINE $303C, $022B, $A816;
  385.     {$ENDC}
  386. {
  387.  Note: The following routine tells the AppleEvent manager that processing
  388.  is either about to resume or has been completed on a previously suspended
  389.  event. The procPtr passed in as the dispatcher parameter will be called to
  390.  attempt to redispatch the event. Several constants for the dispatcher
  391.  parameter allow special behavior. They are:
  392.       - kAEUseStandardDispatch means redispatch as if the event was just
  393.       received, using the standard AppleEvent dispatch mechanism.
  394.       - kAENoDispatch means ignore the parameter.
  395.          Use this in the case where the event has been handled and no
  396.       redispatch is needed.
  397.       - non nil means call the routine which the dispatcher points to.
  398. }
  399. {  Constants for Refcon in AEResumeTheCurrentEvent with kAEUseStandardDispatch  }
  400.  
  401. CONST
  402.     kAEDoNotIgnoreHandler        = $00000000;
  403.     kAEIgnoreAppPhacHandler        = $00000001;                    {  available only in vers 1.0.1 and greater  }
  404.     kAEIgnoreAppEventHandler    = $00000002;                    {  available only in vers 1.0.1 and greater  }
  405.     kAEIgnoreSysPhacHandler        = $00000004;                    {  available only in vers 1.0.1 and greater  }
  406.     kAEIgnoreSysEventHandler    = $00000008;                    {  available only in vers 1.0.1 and greater  }
  407.     kAEIngoreBuiltInEventHandler = $00000010;                    {  available only in vers 1.0.1 and greater  }
  408.     kAEDontDisposeOnResume        = $80000000;                    {  available only in vers 1.0.1 and greater  }
  409.  
  410. {  Constants for AEResumeTheCurrentEvent  }
  411.     kAENoDispatch                = 0;                            {  dispatch parameter to AEResumeTheCurrentEvent takes a pointer to a dispatch  }
  412.     kAEUseStandardDispatch        = $FFFFFFFF;                    {  table, or one of these two constants  }
  413.  
  414. FUNCTION AEResumeTheCurrentEvent({CONST}VAR theAppleEvent: AppleEvent; {CONST}VAR reply: AppleEvent; dispatcher: AEEventHandlerUPP; handlerRefcon: LONGINT): OSErr;
  415.     {$IFC NOT GENERATINGCFM}
  416.     INLINE $303C, $0818, $A816;
  417.     {$ENDC}
  418. FUNCTION AEGetTheCurrentEvent(VAR theAppleEvent: AppleEvent): OSErr;
  419.     {$IFC NOT GENERATINGCFM}
  420.     INLINE $303C, $021A, $A816;
  421.     {$ENDC}
  422. FUNCTION AESetTheCurrentEvent({CONST}VAR theAppleEvent: AppleEvent): OSErr;
  423.     {$IFC NOT GENERATINGCFM}
  424.     INLINE $303C, $022C, $A816;
  425.     {$ENDC}
  426. {$ENDC}
  427. {$ENDC}
  428. {
  429. *************************************************************************
  430.   These calls are used to set up and modify special hooks into the
  431.   AppleEvent manager.
  432. *************************************************************************
  433. }
  434. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  435. {$IFC NOT FOR_PTR_BASED_AE }
  436. FUNCTION AEInstallSpecialHandler(functionClass: AEKeyword; handler: UniversalProcPtr; isSysHandler: BOOLEAN): OSErr;
  437.     {$IFC NOT GENERATINGCFM}
  438.     INLINE $303C, $0500, $A816;
  439.     {$ENDC}
  440. FUNCTION AERemoveSpecialHandler(functionClass: AEKeyword; handler: UniversalProcPtr; isSysHandler: BOOLEAN): OSErr;
  441.     {$IFC NOT GENERATINGCFM}
  442.     INLINE $303C, $0501, $A816;
  443.     {$ENDC}
  444. FUNCTION AEGetSpecialHandler(functionClass: AEKeyword; VAR handler: UniversalProcPtr; isSysHandler: BOOLEAN): OSErr;
  445.     {$IFC NOT GENERATINGCFM}
  446.     INLINE $303C, $052D, $A816;
  447.     {$ENDC}
  448. {$ENDC}
  449. {$ENDC}
  450. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  451. {$IFC FOR_PTR_BASED_AE }
  452. FUNCTION AEInstallSpecialCallback(dispatcher: AEDispatcherRef; functionClass: AEKeyword; handler: ProcPtr): OSStatus; C;
  453. FUNCTION AERemoveSpecialCallback(dispatcher: AEDispatcherRef; functionClass: AEKeyword; handler: ProcPtr): OSStatus; C;
  454. FUNCTION AEGetSpecialCallback(dispatcher: AEDispatcherRef; functionClass: AEKeyword; VAR handler: ProcPtr): OSStatus; C;
  455. {$ENDC}
  456. {$ENDC}
  457. {
  458. *************************************************************************
  459.   This call was added in version 1.0.1. If called with the keyword
  460.   keyAERecorderCount ('recr'), the number of recorders that are
  461.   currently active is returned in 'result'
  462.   (available only in vers 1.0.1 and greater).
  463. *************************************************************************
  464. }
  465. {$IFC FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE }
  466. FUNCTION AEManagerInfo(keyWord: AEKeyword; VAR result: LONGINT): OSErr;
  467.     {$IFC NOT GENERATINGCFM}
  468.     INLINE $303C, $0441, $A816;
  469.     {$ENDC}
  470. {$ENDC}
  471. {$ALIGN RESET}
  472. {$POP}
  473.  
  474. {$SETC UsingIncludes := AppleEventsIncludes}
  475.  
  476. {$ENDC} {__APPLEEVENTS__}
  477.  
  478. {$IFC NOT UsingIncludes}
  479.  END.
  480. {$ENDC}
  481.